今日分享一下最近研究的部分: Kubernetes 的 client-go。
Client-go 是負責呼叫 Kubernetes cluster API 的客戶端,也就是透過 client-go,可以實作 Kubernetes cluster 中資源(舉凡如 Deployment、service、replicaSet、pod、node等)的增刪改查等操作。
以圖示來做說明的話,可以參考下圖來自 GitHub sample-controller,上半部分就是 client-go 所負責的區塊,包含 Reflector 透過 List & Watch 來監聽資源,並將變更資源事件放到 Delta Fifo Queue 中; 而下半部則為 controller。
Client-go 提供的四種 Clients:
[待續]